Skip to content

[C++][Lua][sql] Expeditionary Force with Kolshushu region enabled#10278

Open
Nobutadas wants to merge 7 commits into
LandSandBoat:basefrom
Nobutadas:expeditionary-force-with-one-zone
Open

[C++][Lua][sql] Expeditionary Force with Kolshushu region enabled#10278
Nobutadas wants to merge 7 commits into
LandSandBoat:basefrom
Nobutadas:expeditionary-force-with-one-zone

Conversation

@Nobutadas

Copy link
Copy Markdown
Contributor

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
  • I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.

What does this pull request do?

This pull request implements the Expeditionary Force feature with only one region, the Kolshushu region. Once the overall flow has been verified, the remainder of the regions will be implemented.

This PR is split into different commits that are independent steps in the Expeditionary Force PR. Each one of the commits can be it's own PR that build off of each other.

The overall flow of Expeditionary Force can be seen in the captures below. Recordings will demonstrate signup, flow of the banners, as well as turning in at the end of the tally.

  • [C++] Implement an effect flag to make it so that exp gained while level restricted is based on your unrestricted level instead of your restricted level. This is to prevent abuse of people level restricting and then exping, and to match retail behavior for EF.
  • [C++] Add a lua hook for a player to gain influence points. This was implemented but a lua hook was never added. This is necessary for treasures to grant influence.
  • [C++] Create and add a lua hook for influence to be gained based on a region. This is necessary as the influence awarded from the EF banners are based on the initial player who touched the banner, even if they are not in the same region when the NM dies.
  • [lua] Added the remaining Gate Glyph teleport items for all 9 gate guards. These are granted to allow the EF party the ability to teleport home after the expedition.
  • [lua] Added a utility to create a random normal number with limits based on the Box-Muller equation. NMs spawned an average distance of 3.5 yalms from the banner at a normal distribution.
  • [lua] Added all of the data for the banners (except for Qufim) as well as the NMs for the Buburimu Peninsula.
  • [lua] Created the battle flow for Expeditionary Force. The Banner goes from IDLE (Any person with Key Item can trigger NM spawning), to ACTIVE (NMs exist and anyone can click to get level restricted), to CLEARED (Anyone can click to remove level restriction), to HIDDEN (5 minute timer until banner respawns). During the fights, the level restricted players and the NMs have a CONFRONTATION flag.
  • [lua] Added a hook into treasure.lua to grant influence to the region on treasure opening if the player has the Key Item for the region.
  • [sql] Updated the EF NMs and Pets for Buburimu Peninsula with level ranges (30 - 33 for NMs and 28 - 30 for pets) and set their spawn to be at position 1, 1, 1 so they are not skipped during server boot.
  • [lua] Added all of the NM ids and NMs. The NMs are standard mobs that can 2H. They also needed a 3 minute idle despawn set with hooks into the expeditionary_force.lua onMobDeath and onMobDespawn functions.
  • [lua] Added menus with the 9 conquest gate guards to allow for people to begin Expeditionary Force. This is the final gate as everything else in the code is triggered based on if a player has the key item for the region. The sign-up flow is a player must be in a party that meets the minimum number of players with everyone above the minimum level, in the same nation, and rank 3+. Note, only party members in the current zone are checked. This is how players get the badge.
  • [lua] Added menus to allow a player with the EF badge to be teleported to the region to get the insignia.
  • [lua] Added a reward check with the 9 conquest gate guard's AND the guards at the embassies (Not Jeuno). The guards will take the expired insignias reward CP if their nation has claimed the region. Note, the player can wait to talk to a guard for a more favorable week.
  • [lua] Added checks with the 3 NPCs that allow nation changes to take the key item insignias when a player changes nations.

Steps to test these changes

An entire test plan was developed to test this feature. Located at https://docs.google.com/document/d/1OrlcOkArFUCCBeQB5HzSWt3SfA0dn1iK/edit?usp=sharing&ouid=100883804802821106095&rtpof=true&sd=true

Influence Justification

Influence gain is set in the main.lua setting file. Justification for the influence is provided here: https://docs.google.com/document/d/19QsHuPX8kKZuJSqWfKb-jSV3wv7Ivkje9ZYeI9ZDlJ4/edit?usp=sharing

Captures

All captures are done as Bastok.

Buburimu Peninsula

https://youtu.be/l9DzBCHJxr8
Capture: https://drive.google.com/file/d/1szyT6BYfNTdI4UBYFExiy_pFMZMwrCIh/view?usp=sharing
Capture of a group of 4 doing Expeditionary Force for Bastok when it was in third place in Buburimu Peninsula. We wiped once and then cleared it another time.

Buburimu Peninsula

Capture: https://drive.google.com/file/d/1aptoq5gOyY7UojP3DpxfVOMR1ceZDr1l/view?usp=drive_link
Video 1: https://youtu.be/B_SVTXtci9w
Video 2: https://youtu.be/vl-E0Vs7r70

Solo spawning EF battles for Bastok in Buburimu Peninsula to get banner spawns, monster spawns, and monster levels.

Treasure Chests - The Maze

Capture: https://drive.google.com/file/d/1hyVWyHZlIXIS3AdvgmXi_0yh6vpy7bE8/view?usp=drive_link
Video: https://youtu.be/3DX6PpWwin0

Opened 9 coffers to track influence gain. Note, I did open 1 coffer 2 days ago.
I'm not sure if the trend down in influence gain is because of repeated opening of coffers OR because Bastok's ranking has increased.

Expeditionary Force (Bastok) - Attempt to turn in old key item (previous week) to outpost NPC

https://youtu.be/l-70X3i2Q98
Capture: https://drive.google.com/file/d/1P6svKDXLMZm3PVPJTJOzFCAw-B61WLol/view?usp=sharing
Note: They didnt take it.

Expeditionary Force (Bastok) - Valkurm Dunes + Xarcabard

https://youtu.be/uuk4aSnlES4
Capture: https://drive.google.com/file/d/1zN2l2B8aRyUAg8i1c3KZ2Dwg8C1lT8nX/view?usp=sharing

Expeditionary Force (Bastok) - Attempted to turn in old KI to Jeuno guard (no take), zone guard (no take), opened chest for influence, still can trigger banners, and turned in KI to embassy guard in Windurst

https://drive.google.com/file/d/1XiKay-p_zIVBPB80243vpqUbgb9lMBaY/view?usp=drive_link
https://youtu.be/wr8rDesUaNY
https://youtu.be/vaVH00FWHWY

Expeditionary Force (Bastok) - Valkurm Dunes + Xarcabard from a non-Bastok (for half) player. It mirrors Kipling's capture above.

https://youtu.be/lBNlgznk_xM
Capture: https://drive.google.com/file/d/1PtyPYbbVMKLeLgUShDYWsG91Ur4gYk_6/view?usp=drive_link

Expeditionary Force (Bastok) - Beaucedine Glacier + Cape Terrigan

https://youtu.be/UliVwqkLRNM
Capture: https://drive.google.com/file/d/103ekoyfjW3A7I_GWk39vivPU0LP6XSDF/view?usp=sharing

Expeditionary Force (Bastok) - Beaucedine Glacier + Cape Terrigan (Same as Kipling's above from another PoV)

Capture: https://drive.google.com/file/d/112OqWeZc27rpHqe71SJUDkxF0dnLW8Jl/view?usp=drive_link
https://youtu.be/1cwPNbnQqwY

Expeditionary Force - Banner locations for all zones except Junger, Qufim, and Eastern Altepa

Screenshot Files: https://drive.google.com/file/d/1QOVac-LLcGw8EooHTM-EKHvpBQTrsnPg/view?usp=drive_link

Expeditionary Force - Solo Spawning Flags

Zones: Beaucedine Glacier, Cape Teriggan, Eastern Altepa Desert, Meriphataud Mountains, Pashhow Marshlands, The Sanctuary of Zi'Tah, Valkurm Dunes, Xarcabard, Yhoator Jungle, Yhutunga Jungle

I solo spawned the mobs at the banners, died, and repeated until I discovered all 5 banners for the zone.
Capture: https://drive.google.com/file/d/1wlzjEEqKvCoPNL5fhsla-cTXGSjnALZL/view?usp=drive_link

Expeditionary Force (Bastok) - Zulkheim region - Conquest Influence Test against Coffer

Leveled a character from 7 to 34 in the region, died in the middle. Then I opened a coffer. Leveling had just below a 1% swing. Coffer had about a 2% swing.
https://drive.google.com/file/d/1edFGvLuwAKTZJFRC_3JE5oKnKpj4qRZv/view?usp=drive_link

Expeditionary Force (Bastok) - End of Tally Turn in

I tested 3 things in this capture.
Opening a coffer with a KI in a region you now own (nothing happened).
Turning in the key items with 2 regions now owned.
Swapping nations with KI in inventory.

https://youtu.be/Lcw7DhtaExY
Capture: https://drive.google.com/file/d/1A6-QsEDFtK9Wzifk_juDU4_M55AXlU_V/view?usp=drive_link

Expeditionary Force - Junger and Altepa Banner Spawning

Just running to a flag, spawning mobs, and dying.
Capture: https://drive.google.com/file/d/1NbQElIQVQ09KkKn3sG8wqgUdMtnrqM61/view?usp=drive_link
Screenshot Files of Banners: https://drive.google.com/file/d/1Kvs2qMe6Mw4rLAuwlDnVetvbLGVkOKo4/view?usp=drive_link

@Nobutadas Nobutadas force-pushed the expeditionary-force-with-one-zone branch 3 times, most recently from ac4e35b to e257320 Compare June 11, 2026 02:50
@Nobutadas Nobutadas force-pushed the expeditionary-force-with-one-zone branch from e257320 to 551061f Compare June 11, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant